﻿using System;
using System.Linq;

namespace PBO.Data
{
    public enum Item : int
    {
        /// <summary>
        /// 无 -> 无
        /// </summary>
        None,

        /// <summary>
        /// 01 辣樱 -> 治愈麻痹状态
        /// </summary>
        CheriBerry,

        /// <summary>
        /// 02 涩栗 -> 治愈睡眠状态
        /// </summary>
        ChestoBerry,

        /// <summary>
        /// 03 甜桃 -> 治愈中毒状态
        /// </summary>
        PechaBerry,

        /// <summary>
        /// 04 苦莓 -> 治愈灼伤状态
        /// </summary>
        RawstBerry,

        /// <summary>
        /// 05 酸梨 -> 治愈冰冻状态
        /// </summary>
        AspearBerry,

        /// <summary>
        /// 06 红苹 -> 回复10点PP
        /// </summary>
        LeppaBerry,

        /// <summary>
        /// 07 蓝橘 -> 回复10点HP
        /// </summary>
        OranBerry,

        /// <summary>
        /// 08 甜柿 -> 治愈混乱状态
        /// </summary>
        PersimBerry,

        /// <summary>
        /// 09 绿姆果 -> 治愈一切异常状态
        /// </summary>
        LumBerry,

        /// <summary>
        /// 10 香柚 -> 回复25%的最大HP
        /// </summary>
        SitrusBerry,

        /// <summary>
        /// 11 辣椰果 -> 回复8分之1体力，讨厌辣的宝可梦会陷入混乱
        /// </summary>
        FigyBerry,

        /// <summary>
        /// 12 蓝异奇果 -> 回复8分之1体力，讨厌涩的宝可梦会陷入混乱
        /// </summary>
        WikiBerry,

        /// <summary>
        /// 13 甘芒 -> 回复8分之1体力，讨厌甜的宝可梦会陷入混乱
        /// </summary>
        MagoBerry,

        /// <summary>
        /// 14 绿乐芭 -> 回复8分之1体力，讨厌苦的宝可梦会陷入混乱
        /// </summary>
        AguavBerry,

        /// <summary>
        /// 15 酸木瓜 -> 回复8分之1体力，讨厌酸的宝可梦会陷入混乱
        /// </summary>
        IapapaBerry,

        /// <summary>
        /// 16 红蔓莓 -> 面宝的材料
        /// </summary>
        RazzBerry,

        /// <summary>
        /// 17 蓝莓 -> 面宝的材料
        /// </summary>
        BlukBerry,

        /// <summary>
        /// 18 粉蕉 -> 面宝的材料
        /// </summary>
        NanabBerry,

        /// <summary>
        /// 19 青梨 -> 面宝的材料
        /// </summary>
        WepearBerry,

        /// <summary>
        /// 20 黄旺梨 -> 面宝的材料
        /// </summary>
        PinapBerry,

        /// <summary>
        /// 21 红榴 -> 降低HP努力值
        /// </summary>
        PomegBerry,

        /// <summary>
        /// 22 蓝根藻果 -> 降低攻击努力值
        /// </summary>
        KelpsyBerry,

        /// <summary>
        /// 23 粉枇杷 -> 降低防御努力值
        /// </summary>
        QualotBerry,

        /// <summary>
        /// 24 黄斑蜜瓜 -> 降低特攻努力值
        /// </summary>
        HondewBerry,

        /// <summary>
        /// 25 黄金葡 -> 降低特防努力值
        /// </summary>
        GrepaBerry,

        /// <summary>
        /// 26 辣茄 -> 降低速度努力值
        /// </summary>
        TamatoBerry,

        /// <summary>
        /// 27 紫黍 -> 面宝的材料
        /// </summary>
        CornnBerry,

        /// <summary>
        /// 28 甜山竹 -> 面宝的材料
        /// </summary>
        MagostBerry,

        /// <summary>
        /// 29 绿毛丹 -> 面宝的材料
        /// </summary>
        RabutaBerry,

        /// <summary>
        /// 30 酸柠 -> 面宝的材料
        /// </summary>
        NomelBerry,

        /// <summary>
        /// 31 辣乐奇 -> 面宝的材料
        /// </summary>
        SpelonBerry,

        /// <summary>
        /// 32 紫椰 -> 面宝的材料
        /// </summary>
        PamtreBerry,

        /// <summary>
        /// 33 甜瓜 -> 面宝的材料
        /// </summary>
        WatmelBerry,

        /// <summary>
        /// 34 苦琏 -> 面宝的材料
        /// </summary>
        DurinBerry,

        /// <summary>
        /// 35 靛莓 -> 面宝的材料
        /// </summary>
        BelueBerry,

        /// <summary>
        /// 36 欧可果 -> 减半炎系技能效果拔群的效果
        /// </summary>
        OccaBerry,

        /// <summary>
        /// 37 香百果 -> 减半水系技能效果拔群的效果
        /// </summary>
        PasshoBerry,

        /// <summary>
        /// 38 烛木果 -> 减半电系技能效果拔群的效果
        /// </summary>
        WacanBerry,

        /// <summary>
        /// 39 苦豆 -> 减半草系技能效果拔群的效果
        /// </summary>
        RindoBerry,

        /// <summary>
        /// 40 冰迦果 -> 减半冰系技能效果拔群的效果
        /// </summary>
        YacheBerry,

        /// <summary>
        /// 41 麻雾果 -> 减半格斗系技能效果拔群的效果
        /// </summary>
        ChopleBerry,

        /// <summary>
        /// 42 通木果 -> 减半毒系技能效果拔群的效果
        /// </summary>
        KebiaBerry,

        /// <summary>
        /// 43 蜜腰果 -> 减半地上系技能效果拔群的效果
        /// </summary>
        ShucaBerry,

        /// <summary>
        /// 44 风瓜 -> 减半飞行系技能效果拔群的效果
        /// </summary>
        CobaBerry,

        /// <summary>
        /// 45 糖葫果 -> 减半超能力系技能效果拔群的效果
        /// </summary>
        PayapaBerry,

        /// <summary>
        /// 46 藤樱果 -> 减半虫系技能效果拔群的效果
        /// </summary>
        TangaBerry,

        /// <summary>
        /// 47 石蚕果 -> 减半岩石系技能效果拔群的效果
        /// </summary>
        ChartiBerry,

        /// <summary>
        /// 48 佛手果 -> 减半幽灵系技能效果拔群的效果
        /// </summary>
        KasibBerry,

        /// <summary>
        /// 49 番榴 -> 减半龙系技能效果拔群的效果
        /// </summary>
        HabanBerry,

        /// <summary>
        /// 50 刺球果 -> 减半恶系技能效果拔群的效果
        /// </summary>
        ColburBerry,

        /// <summary>
        /// 51 霹雳果 -> 减半钢系技能效果拔群的效果
        /// </summary>
        BabiriBerry,

        /// <summary>
        /// 52 灯笼果 -> 减半一般系技能的效果
        /// </summary>
        ChilanBerry,

        /// <summary>
        /// 53 奇拉果 -> HP低于四分之一时攻击提升
        /// </summary>
        LiechiBerry,

        /// <summary>
        /// 54 龙佳果 -> HP低于四分之一时防御提升
        /// </summary>
        GanlonBerry,

        /// <summary>
        /// 55 天速果 -> HP低于四分之一时速度提升
        /// </summary>
        SalacBerry,

        /// <summary>
        /// 56 红龙果 -> HP低于四分之一时特攻提升
        /// </summary>
        PetayaBerry,

        /// <summary>
        /// 57 青杏 -> HP低于四分之一时特防提升
        /// </summary>
        ApicotBerry,

        /// <summary>
        /// 58 红阳 -> HP低于四分之一时击中要害率提升
        /// </summary>
        LansatBerry,

        /// <summary>
        /// 59 绿星桃 -> HP低于四分之一时任意一项能力大幅度提升
        /// </summary>
        StarfBerry,

        /// <summary>
        /// 60 谜之果 -> 当被效果拔群技能攻击时回复满HP的四分之一
        /// </summary>
        EnigmaBerry,

        /// <summary>
        /// 61 神秘果 -> HP不到四分之一时命中率提升1级
        /// </summary>
        MicleBerry,

        /// <summary>
        /// 62 赤迦果 -> HP不到四分之一时先攻一次
        /// </summary>
        CustapBerry,

        /// <summary>
        /// 63 嘉宝果 -> 如果受到物理技能攻击，对手损伤其满HP的八分之一
        /// </summary>
        JabocaBerry,

        /// <summary>
        /// 64 莲雾果 -> 如果受到特殊技能攻击，对手损伤其满HP的八分之一
        /// </summary>
        RowapBerry,

        /// <summary>
        /// 拳击石板 -> 格斗属性石板。携带后格斗属性技能威力增强。
        /// </summary>
        FistPlate,

        /// <summary>
        /// 青空石板 -> 飞行属性石板。携带后飞行属性技能威力增强。
        /// </summary>
        SkyPlate,

        /// <summary>
        /// 剧毒石板 -> 毒属性石板。携带后毒属性技能威力增强。
        /// </summary>
        ToxicPlate,

        /// <summary>
        /// 大地石板 -> 地上属性石板。携带后地上属性技能威力增强。
        /// </summary>
        EarthPlate,

        /// <summary>
        /// 岩石石板 -> 岩石属性石板。携带后岩石属性技能威力增强。
        /// </summary>
        StonePlate,

        /// <summary>
        /// 玉虫石板 -> 虫属性石板。携带后虫属性技能威力增强。
        /// </summary>
        InsectPlate,

        /// <summary>
        /// 阴魂石板 -> 幽灵属性石板。携带后幽灵属性技能威力增强。
        /// </summary>
        SpookyPlate,

        /// <summary>
        /// 钢铁石板 -> 钢属性石板。携带后钢属性技能威力增强。
        /// </summary>
        IronPlate,

        /// <summary>
        /// 火球石板 -> 炎属性石板。携带后炎属性技能威力增强。
        /// </summary>
        FlamePlate,

        /// <summary>
        /// 水滴石板 -> 水属性石板。携带后水属性技能威力增强。
        /// </summary>
        SplashPlate,

        /// <summary>
        /// 草绿石板 -> 草属性石板。携带后草属性技能威力增强。
        /// </summary>
        MeadowPlate,

        /// <summary>
        /// 雷电石板 -> 电属性石板。携带后电属性技能威力增强。
        /// </summary>
        ZapPlate,

        /// <summary>
        /// 神奇石板 -> 超能力属性石板。携带后超能力属性技能威力增强。
        /// </summary>
        MindPlate,

        /// <summary>
        /// 冰柱石板 -> 冰属性石板。携带后冰属性技能威力增强。
        /// </summary>
        IciclePlate,

        /// <summary>
        /// 龙之石板 -> 龙属性石板。携带后龙属性技能威力增强。
        /// </summary>
        DracoPlate,

        /// <summary>
        /// 恐怖石板 -> 恶属性石板。携带后恶属性技能威力增强。
        /// </summary>
        DreadPlate,

        /// <summary>
        /// 炽热岩石 -> 携带它的宝可梦使用大晴天时晴天的时间延长。
        /// </summary>
        HeatRock,

        /// <summary>
        /// 潮湿岩石 -> 携带它的宝可梦在使用乞雨时，下雨的时间延长。
        /// </summary>
        DampRock,

        /// <summary>
        /// 流沙岩石 -> 携带它的宝可梦使用沙雹时沙雹的时间延长。
        /// </summary>
        SmoothRock,

        /// <summary>
        /// 冰冷岩石 -> 携带它的宝可梦使用冰雹时，冰雹的时间延长。
        /// </summary>
        IcyRock,

        /// <summary>
        /// 黑色的眼镜 -> 造型奇特的眼镜。携带后恶属性技能威力会得到提升。
        /// </summary>
        Blackglasses,

        /// <summary>
        /// 黑色带子 -> 能集中精力的带子。携带后格斗属性技能威力会得到提升。
        /// </summary>
        BlackBelt,

        /// <summary>
        /// 银色的粉 -> 发出银色光芒的粉末。携带后，虫属性技能威力会提升。
        /// </summary>
        Silverpowder,

        /// <summary>
        /// 弯曲的汤匙 -> 注入了念力的羹匙。携带后超能力属性技能威力会得到提升。
        /// </summary>
        Twistedspoon,

        /// <summary>
        /// 硬石头 -> 绝对不会碎裂的石子。携带后，岩石属性技能威力会得到提升。
        /// </summary>
        HardStone,

        /// <summary>
        /// 丝绸围巾 -> 手感舒适的围巾。携带后一般属性技能威力会得到提升。
        /// </summary>
        SilkScarf,

        /// <summary>
        /// 毒针 -> 有毒的细针。携带后毒属性技能威力会得到提升。
        /// </summary>
        PoisonBarb,

        /// <summary>
        /// 尖锐鸟嘴 -> 长长的尖喙。携带后飞行属性技能威力会得到提升。
        /// </summary>
        SharpBeak,

        /// <summary>
        /// 不融冰 -> 可以降温的冰。携带后冰属性技能威力会得到提升。
        /// </summary>
        Nevermeltice,

        /// <summary>
        /// 柔软的沙子 -> 手感细腻的沙子，携带后地上属性技能威力会得到提升。
        /// </summary>
        SoftSand,

        /// <summary>
        /// 诅咒护身符 -> 令人毛骨悚然的咒符。携带后幽灵属性技能威力会得到提升。
        /// </summary>
        SpellTag,

        /// <summary>
        /// 磁铁石 -> 强力磁铁。携带后电属性技能威力会得到提升。
        /// </summary>
        Magnet,

        /// <summary>
        /// 神秘水滴 -> 水滴形宝石。携带后水属性技能威力会得到提升。
        /// </summary>
        MysticWater,

        /// <summary>
        /// 奇迹种子 -> 有生命的种子。携带后草属性技能威力会得到提升。
        /// </summary>
        MiracleSeed,

        /// <summary>
        /// 金属涂层 -> 特殊金属膜，携带后钢属性的技能威力会得到提升。
        /// </summary>
        MetalCoat,

        /// <summary>
        /// 木炭 -> 促使燃烧的燃料。携带后炎属性技能威力会得到提升。
        /// </summary>
        Charcoal,

        /// <summary>
        /// 龙之牙 -> 坚硬锐利的牙齿。携带后龙属性技能威力会得到提升。
        /// </summary>
        DragonFang,

        /// <summary>
        /// 金刚玉魂 -> 帝牙卢卡携带的话，就能使龙属性和钢属性技能威力上升。闪耀着光芒的宝珠。
        /// </summary>
        AdamantOrb,

        /// <summary>
        /// 白玉魂 -> 帕路奇犽携带的话，就能使龙属性和水属性技能威力上升。美丽的宝珠。
        /// </summary>
        LustrousOrb,

        /// <summary>
        /// 速度粉 -> 百变怪携带的话能提升速度的神秘粉末。非常细且质地坚硬。
        /// </summary>
        QuickPowder,

        /// <summary>
        /// 电气球 -> 皮卡丘携带的话，能提升攻击和特攻威力的神奇宝玉。
        /// </summary>
        LightBall,

        /// <summary>
        /// 金属粉 -> 百变怪携带的话能提升防御力的神秘粉末。非常细且质地坚硬。
        /// </summary>
        MetalPowder,

        /// <summary>
        /// 幸运拳套 -> 召唤幸运的手套。吉利蛋携带的话击中对方要害的几率会提升。
        /// </summary>
        LuckyPunch,

        /// <summary>
        /// 心之水滴 -> 让拉帝欧斯或拉帝亚斯携带的话，特攻和特防就能上升的神奇宝珠。
        /// </summary>
        SoulDew,

        /// <summary>
        /// 深海之牙 -> 让珍珠贝携带的话，就能使特攻上升的牙齿，闪耀着银色的光芒。
        /// </summary>
        Deepseatooth,

        /// <summary>
        /// 深海之鳞 -> 让珍珠贝携带的话就能使特防上升的鳞片，闪耀着淡粉色的光芒。
        /// </summary>
        Deepseascale,

        /// <summary>
        /// 粗骨棒 -> 质地坚硬的骨头。可拉可拉或者嘎拉嘎拉携带后能提升攻击力。
        /// </summary>
        ThickClub,

        /// <summary>
        /// 长葱 -> 很长很硬的草茎。大葱鸭携带的话击中对方要害的几率会提升。
        /// </summary>
        Stick,

        /// <summary>
        /// 专爱围巾 -> 比较讲究的围巾。携带后虽然能提高速度，但只能发动同样的技能。
        /// </summary>
        ChoiceScarf,

        /// <summary>
        /// 专爱头巾 -> 比较讲究的头巾。携带后虽然能提升攻击力，但只能发动同样的技能。
        /// </summary>
        ChoiceBand,

        /// <summary>
        /// 专爱眼镜 -> 比较讲究的眼镜。携带后虽然能提升特攻，但只能发动同样的技能。
        /// </summary>
        ChoiceSpecs,

        /// <summary>
        /// 力量头巾 -> 力如泉涌的头巾。携带后能够稍微提升物理攻击的威力。
        /// </summary>
        MuscleBand,

        /// <summary>
        /// 知识眼镜 -> 超厚镜片的眼镜。携带后能够稍微提升特殊攻击的威力。
        /// </summary>
        WiseGlasses,

        /// <summary>
        /// 达人带子 -> 用旧的黑带。携带后能够稍微提升效果拔群时技能的威力。
        /// </summary>
        ExpertBelt,

        /// <summary>
        /// 焦点镜片 -> 能看见弱点的透镜，宝可梦携带后可增加击中要害的几率。
        /// </summary>
        ScopeLens,

        /// <summary>
        /// 锐利爪 -> 尖锐的爪子。携带后击中要害的几率增加。
        /// </summary>
        RazorClaw,

        /// <summary>
        /// 先攻之爪 -> 轻便锐利的爪子。携带后，有时能比对方更早出手。
        /// </summary>
        QuickClaw,

        /// <summary>
        /// 后攻之尾 -> 非常沉重的尾巴。携带后行动会变得迟缓。
        /// </summary>
        LaggingTail,

        /// <summary>
        /// 满腹熏香 -> 发出神秘香气的香炉。携带它的宝可梦行动会变得迟缓。
        /// </summary>
        FullIncense,

        /// <summary>
        /// 对焦镜片 -> 携带它的宝可梦在遇见比自己行动迅速的对手时，能提高技能的命中率。
        /// </summary>
        ZoomLens,

        /// <summary>
        /// 广角镜片 -> 能仔细观察的放大镜。携带后技能的命中率会稍微提升。
        /// </summary>
        WideLens,

        /// <summary>
        /// 亮光之粉 -> 熠熠生辉的粉末。携带后能迷惑对手，使其命中率下降。
        /// </summary>
        Brightpowder,

        /// <summary>
        /// 生命宝玉 -> 携带后每次攻击都会减少ＨＰ，但技能威力会得到提升。
        /// </summary>
        LifeOrb,

        /// <summary>
        /// 光之粘土 -> 携带它的宝可梦使用光墙或减半反射时，效果比平时更长。
        /// </summary>
        LightClay,

        /// <summary>
        /// 黏着钩爪 -> 携带后束缚类的卷紧等能够连续攻击的技能攻击回合增加。
        /// </summary>
        GripClaw,

        /// <summary>
        /// 力量药草 -> 携带它的宝可梦有一次机会可以在第一回合使用需要经过蓄力的技能。
        /// </summary>
        PowerHerb,

        /// <summary>
        /// 节拍器 -> 携带后，连续使用同样的技能会提升威力，一旦停止，威力也会复原。
        /// </summary>
        Metronome,

        /// <summary>
        /// 黑色铁球 -> 携带后，速度会下降。飞行系或漂浮特性宝可梦也会被地上属性技能打中。
        /// </summary>
        IronBall,

        /// <summary>
        /// 剩饭 -> 宝可梦携带后，在战斗时能持续恢复ＨＰ。
        /// </summary>
        Leftovers,

        /// <summary>
        /// 巨大根茎 -> 携带后使用吸收ＨＰ的技能时能比平时吸收更多的ＨＰ。
        /// </summary>
        BigRoot,

        /// <summary>
        /// 白色药草 -> 宝可梦携带后，能力下降时能恢复１次状态。
        /// </summary>
        WhiteHerb,

        /// <summary>
        /// 贝壳之铃 -> 宝可梦携带后，攻击对手时，能少量恢复ＨＰ。
        /// </summary>
        ShellBell,

        /// <summary>
        /// 气息衣带 -> 携带后ＨＰ全满时即使受到致命攻击，也有一次机会令ＨＰ留下１点。
        /// </summary>
        FocusSash,

        /// <summary>
        /// 气息头巾 -> 携带后，有一定几率在遭受致命攻击时留下１点ＨＰ。
        /// </summary>
        FocusBand,

        /// <summary>
        /// 火焰珠 -> 被碰到就会放出热量的神秘宝玉。携带后会在战斗中进入烧伤状态。
        /// </summary>
        FlameOrb,

        /// <summary>
        /// 剧毒珠 -> 被碰到就会放出毒素的神秘宝玉。携带后会在战斗中进入剧毒状态。
        /// </summary>
        ToxicOrb,

        /// <summary>
        /// 黑色淤泥 -> 携带后毒系宝可梦会慢慢恢复ＨＰ。其他类型ＨＰ会减少。
        /// </summary>
        BlackSludge,

        /// <summary>
        /// 红线 -> 又细又长的红色丝线。携带后进入迷人状态时对手也会进入迷人状态。
        /// </summary>
        DestinyKnot,

        /// <summary>
        /// 王者之证 -> 携带后，攻击对手时有一定几率使对方胆怯。
        /// </summary>
        KingsRock,

        /// <summary>
        /// 锐利牙 -> 尖锐的牙齿。携带后攻击对手时有一定几率使对方胆怯。
        /// </summary>
        RazorFang,

        /// <summary>
        /// 漂亮外套 -> 坚硬的蜕皮。携带它的宝可梦绝对能和后备宝可梦交换位置。
        /// </summary>
        ShedShell,

        /// <summary>
        /// 附针 -> 携带后每回合都会受到伤害，但有时也会影响碰过自己的对手。
        /// </summary>
        StickyBarb,

        /// <summary>
        /// 调整背心 -> 又硬又重的石膏。携带会令速度下降，但成长会比较快。
        /// </summary>
        MachoBrace,

        /// <summary>
        /// 心灵药草 -> 宝可梦携带后，能在无法自由使用技能时恢复１次。
        /// </summary>
        MentalHerb,

        /// <summary>
        /// 白金玉魂 -> 让骑拉帝纳携带的话就能使龙属性和幽灵属性技能威力上升。闪耀着光芒的宝珠。
        /// </summary>
        GriseousOrb,
    }

    public static class ItemHelper
    {
        public static bool IsBerry(this Item item)
        {
            int id = (int)item;
            return id > 0 && id < 65;
        }

        public static bool IsPlate(this Item item)
        {
            int id = (int)item;
            return id >= 65 && id <= 80;
        }

        public static bool IsChoiceItem(this Item item)
        {
            return item == Item.ChoiceBand || item == Item.ChoiceSpecs || item == Item.ChoiceScarf;
        }

        public static bool IsRaiseItem(this Item item)
        {
            //if ((Item.果实1 <= GetItem(true) && GetItem(true) <= Item.果实15) || (Item.果实53 <= GetItem(true) && GetItem(true) <= Item.果实59) || GetItem(true) == Item.果实61 || GetItem(true) == Item.果实62 || GetItem(true) == Item.精神香草 || GetItem(true) == Item.白色香草)
            int id = (int)item;
            int[] arr = { 61, 62, 135, 148 };
            return (id > 0 && id < 16) || (id > 52 && id < 60) || arr.Contains(id);
        }

        #region IsHalfHurtBerry

        public static bool IsHalfHurtBerry(int berryId)
        {
            return berryId >= 36 && berryId <= 52;
        }

        public static bool IsHalfHurtBerry(this Item item)
        {
            int id = (int)item;
            return IsHalfHurtBerry(id);
        }

        public static bool IsHalfHurtBerry(this Item item, BattleType type)
        {
            int id = (int)item;
            return IsHalfHurtBerry(id) && PBO.Data.Effect.MoveEffect.NaturalGift.GetNaturalGiftType(id) == type;
        }

        #endregion
    }
}